void PostorderTraversal( BinTree BT )
{
    Stack s = CreateStack();
    BinTree p = BT, q;
    while(p||!IsEmpty(s))
    {
        if(p)
        {
            Push(s, p);
            p->flag = 1; /*标记左子树已经访问*/
            p = p->Left;
        }
        else
        {
            if(Peek(s)->flag>=2)
            {
                q = Pop(s);
                printf(" %c", q->Data);
                p = NULL;
            }
            else
            {
                q = Peek(s);
                q->flag++;   /*标记右子树已经访问*/
                p = q->Right;
            }
        }
    }
}
